【算法】素数筛法

文章目录1 解法一 枚举2 解法二 埃氏筛3 解法三 线性筛 解决素数筛选问题的几个算法。以该问题为例:求出小于非负整数 n 的素数的数量。 解法一 枚举 用到一个数学结论:对于一个正整数,以它的平方根为界,两边的因子是一一对应的。即判断一个数是否为素数,仅需判断它是否能整除 中的某个正整数,如果能则不是素数,反之为素数。C#代码如下: public class Solution { public bool IsPrime(int x) { for(int i = 2; i * i <= x; i++) { if(x % i == 0) { return false; } } return true; } public int CountPrimes(int n) { int count = … Continue reading 【算法】素数筛法